The Impact of Mesa on System Design, 1979
نویسنده
چکیده
The Mesa programming language supports program modularity in ways that permit subsystems to be developed separately but to be bound together with complete type safety. Separate and explicit interface definitions provide an effective means of communication, both between programs and between programmers. A configuration language describes the organization of a system and controls the scopes of interfaces. These facilities have had a profound impact on the way we design systems and Organize development projects. This paper reports our recent experience with Mesa, particularly its use in the development of an operating system. It illustrates techniques for designing interfaces, for using the interface language as a specification language, and for organizing a ~ystem to achieve the practical benefits of program modularity without sacrificing strict type-checking. Mesa is a programming language designed for system implementation. It is used within the Xerox Corporation both by research laboratories as a vehicle for experiments and by development organizations for "production' programming. Some of our initial experience with Mesa was reported previously [Geschke et aL 1977]. Since that time, the language has evolved in several directions and has acquired a larger and more diverse community of users. That community has accumulated a substantial amount of experience in using Mesa tO design and implement large systems, a number of which are now operational. It has become increasingly clear that the value of Mesa extends far beyond its enforcement of type-safety within individual programs. It has profoundly affected the ways we think about system design, organize development projects, and communicate our ideas about the systems we build. This paper reports some of our recent experience with Mesa. It is based primarily upon the development of one particular system--what we refer to as the Pilot operating system--for a small, personal computer. We also draw upon the lessons learned from other systems. These represent a non-trivial amount of programming; a survey of just the authors' immediate colleagues at the end of 1978 uncovered several hundred thousand lines of stable, operational Mesa code. Pilot itself is a 'second generation' client of Mesa. It is the first major system to take advantage of explicit interface and configuration descriptions (discussed below) in its original design. In addition, its designers were able to make careful assessments of earlier systems to discover both the benefits and pitfalls of using Mesa. As a result, we were able to profit from, as well as add to, the accumulated 'institutional learning' about the practical problems of developing large systems in Mesa. The purpose of this paper is to communicate those lessons, which deserve more emphasis and discussion than they have received to date in the literature. We concentrate upon t_he impact and adequacy of the Mesa programming language and its influence upon system design; a compar~ion paper_ [Horsley and Lynch, 1979] focuses upon organizational and management issues. This paper contains three main sections. First, the facilities provided by Mesa for supporting the development and organization of modular programs are discussed. In the second section, we describe the role played by the Mesa interface and configuration languages in system design, particularly from the perspective of Pilot. The final section is a qualitative assessment of the adequacy of Mesa as a system implementation language.
منابع مشابه
The Impact of Mesa on System Design
The Mesa programming language supports program modularity in ways that permit subsystems to be developed separately but to be bound together with complete type safety. Separate and explicit interface definitions provide an effective means of communication, both between programs and between programmers. A configuration language describes the organization of a system and controls the scopes of in...
متن کاملPrediction of Methyl Salicylate Effects on Pomegranate Fruit Quality and Chilling Injuries using Adaptive Neuro-Fuzzy Inference System and Artificial Neural Network
Adaptive neuro-fuzzy inference system (ANFIS) and genetic algorithm–artificial neural network (GA-ANN) were investigated for predicting methyl salicylate (MeSA) effects on chilling injuries and quality changes of pomegranate fruits during storage. Fruits were treated with MeSA at three concentrations(0, 0.01 and 0.1 mM) and stored under chilling temperature for 84 days. ANFIS and GA-ANN models ...
متن کاملDesign and Modeling of a New Type of Tactile Sensor Based on the Deformation of an Elastic Membrane
This paper presents the design and modeling of a flexible tactile sensor, capable of detecting the 2D surface texture image, contact-force estimation and stiffness of the sensed object. The sensor is made of polymer materials. It consists of a cylindrical chamber for pneumatic actuation and a membrane with a mesa structure. The inner radius of the cylindrical chamber is 2cm and its outer radius...
متن کاملAnalysis of the Impact of Managed Pressure Drilling Technology on Current Casing Program Design Methods (TECHNICAL NOTE)
This paper analyzed the characteristics of managed pressure drilling (MPD) technology and impact of wellhead back pressure on the wellbore annulus pressure profile, and found that the application of this technology provides room for improvement to the current casing program design. Meanwhile, the equivalent density of drilling fluid in wellbore annulus needs to consider the impact of back press...
متن کاملA Quasi-Experimental Study of the Impact of Resilience Training on Students' Academic Burnout and Mental Health
This study was carried out to examine the impact of resilience training on students' academic burnout and mental health. The statistical population of the study was comprised of all male senior high school students in Ilam in 2018-19 school year from among whom 40 students were selected via multi-stage random sampling method and were assigned to experimental (N=20) and control groups (N=20). Th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1979